home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 April
/
CHIP 1996 aprilis (CD06).zip
/
CHIP_CD06.ISO
/
hypertxt.arj
/
9406
/
DOSEMU.CD
< prev
next >
Wrap
Text File
|
1994-11-27
|
9KB
|
164 lines
@VHogyan lehet DOS alá írt alkalmazásokat futtatni@N
@Va Linux operációs rendszer alatt?@N
@VTurbo Trabant@N
Mit csinálna az Olvasó, ha sok-sok évig Trabanttal járna,
és több évre elegendô keverék üzemanyaga volna
felhalmozva a garázsban, amikor hirtelen egy Lotus Esprit
csodaautót nyerne egy sorsoláson? A felhalmozott üzemanyag
elhasználása vagy átalakítása komoly gondot jelentene egy
ilyen ""hardveres" problémánál. Mindez mennyivel
könnyebben megoldható, ha a probléma szoftverekkel
kapcsolatban merül fel ...
Minden kezdô Linux felhasználó szembe találja magát azzal a
problémával, hogy rendben van, hogy egy szuper, 32 bites,
multitaskos, multiuseres operációs rendszert használ, de
mit csináljon az évek során felhalmozott, megszokott DOS-os
alkalmazásaival?
A Linux felépítése az eddig megismertek alapján alapvetôen
különbözô a DOS-étól, hiszen egy multiuseres, multitaskos
operációs rendszerrôl van szó. A rendszer védi egymástól az
egymás mellett futó programokat, így egy egyszerû
alkalmazás nem használhatja közvetlenül a számítógép
erôforrásait, mint ahogy DOS alatt megszoktuk. Ez azt
jelenti, hogy nem írhatunk akárhova a memóriában, nem
írogathatunk közvetlenül a winchesterre sem, nem kaphatjuk
meg a megszakításokat, nem írhatunk az egyes vezérlôkártyák
I/O portjaira. Ezeket csak a rendszerbe épített device
driverek tehetik, és mi csak ezekkel dolgozhatunk.
Hogyan használhatnánk mégis a DOS alá írt alkalmazásainkat,
ha gépünkön Linux fut?
îrjunk egy virtuális DOS gépet Linux alá, amely ugyanolyan
taskként fut majd multitaskos rendszerünkben, mint az
összes többi Linuxos alkalmazás, és a benne elindított
programoknak egy DOS-os számítógépet mutat!
Ennek a programnak a fejlesztését Matthias Lautner kezdte
1992 szeptemberében Kanadában. Habár dosemu-nak nevezték el
a készülô programot, itt nem egy DOS emulátorról van szó,
hanem egy virtuális DOS géprôl, amely lehetôvé teszi a DOS
alá írt alkalmazások futtatását ezen a virtuális gépen
belül.
A legnagyobb probléma tehát: hogyan oldjuk meg azt, hogy a
dosemu alatt futó alkalmazások azt higgyék, tényleg egy
igazi DOS-os gépen futnak? Ehhez sajnos az összes, a
DOS-ból használt hardvert emulálnunk kell.
A virtuális DOS gép egy Intel 80x86 kompatibilis valós módú
proceszorhoz hasonlóan mûködik. A dosemu az alatta futó
programoknak a BIOS video-, diszk-, billentyûzet- és
nyomtató-szolgáltatásait, a CMOS memória konfigurációs
információit, az extended memória elérését az XMS
specifikáción keresztül, és LIM EMS 4.0-val kompatibilis
EMS memória elérését nyújta. A dosemu nem egy DOS emulátor,
mert a DOS-os alkalmazások futtatásához szükség van egy MS
DOS 3.2--6.2-re. (A DR DOS 6.0-val szintén mûködik).
A Linux dosemu-ja alól a következô módokon érhetünk el
diszket: @V1.@N A Linux file-rendszerben elhelyezkedô
imagefile-ban emulálhatunk egy DOS formátumú drive-ot. îgy
minden mûvelet egy unixos file-ban hajtódik végre, amit a
dosemu kezel. @V2.@N Elérhetjük a DOS partíciónkat
direktben egy DOS egységként. A dosemu fel tudja ismerni a
winchesteren elhelyezkedô DOS partíciót és le tudja kezelni
számunkra. @V3.@N Az LREDIR.EXE nevû program segítségével
elérhetjük a Linux file-rendszer tetszôleges részét, és
tetszôleges drive-ként láthatjuk dosemu alól.
A dosemu tetszôleges távoli terminálon keresztül
bejelentkezve is futtatható, de csak a szerver konzolján
futtatva élvezhetjük a színes vagy akár grafikus
programokat, az egérkezelést vagy a szerver
floppymeghajtóinak elérését.
Ha a Linux szerverhez kapcsolt monitornál és
billentyûzetnél ülünk, a videokártyánk VGA BIOS-át betöltve
akár grafikus programokat is futtathatunk. A dosemu
lehetôséget ad a soros és párhuzamos portok használatára,
így akár egerezhetünk, vagy modemezhetünk dosemu alatt.
A dosemu-ból nyomtatva a DOS-ban megszokott lpt1, lpt2,
lpt3 egységekre nyomtathatunk, amelyek hivatkozhatnak a
szerverhez kapcsolt fizikai nyomtatóra is, hálózati
nyomtatóra vagy egy, az aktuális alkönyvtárban létrehozott
file-ra.
A Linux egyik legnagyobb hátránya volt eddig, hogy egy
Novell NetWare hálózatba kapcsolva nem lehetett elérni a
NetWare szerveren tárolt file-okat, mivel nem lehet Linux
alá olyan programot fejleszteni, ami NetWare szervereket ér
el. DOS alól viszont ez könnyen megoldható, ezek után már
csak a hálózati kártya elérését kellett biztosítani dosemu
alól -- ami a 0.49pl4 verziónak már része.
A dosemu a Linux szabadon allokálható memóriájából szakít
le egy darabot. A dosemu indításakor adhatjuk meg, mekkora
EMS illetve XMS memóriát szeretnénk a dosemu alól látni.
Ugyanígy a koprocesszor emulációt is indításkor
kapcsolhatjuk ki vagy be.
îgy összeállított virtuális DOS gépünkön ezután bármilyen
programot futtathatunk, amely nem akar védett módba
kapcsolni. Egyszerre csak egy program futhat védett módban,
és ez esetünkben a Linux, tehát nem futtathatunk védett
módú Windowst vagy memóriakezelôket a dosemuból. Ennek
ellenére nagyon sok programmal lett már tesztelve a Linux
dosemuja. Ezek közül csak a legelterjedtebben használtakat
szeretném megemlíteni: adatbázis-kezelôk (Dbase 4, Foxpro
2.0, Framework 4, Paradox), Scan109 (antivírus program),
Turbo Assembler/tlink (assembler/linker), Qbasic/edit
(Basic interpreter -- DOS 5.0), compilerek (ACU-Cobol,
QuickC, RM/Cobol, Topspeed Modula-2, Turbo C++ 2.0; Turbo
Pascal 5.5, 6.0, 7.0), Checkit (diagnosztikai program),
file-tömörítôk (LHA, PKzip/PKunzip), GEM Paint (GEM
festôprogram), Netzplan (GEM projektkezelô), GEM Draw (GEM
rajzprogram), 1st Wordplus (GEM szövegszerkesztô),
grafikai/rajzoló csomagok (Freelance Graphics 2.1, Harvard
Graphics 3.0), GUI-k (GEM/3, Windows 3.0 -- valós módban),
játékok (Blake Stone..., Castle Wolfenstein 3-D, Harpoon,
Hero's Quest I, Incredible Machine, Lemmings, MS Flight
Simulator 5, Pinball Dreams, Railroad Tycoon, Red Baron,
Scorch, Space Quest IV, Stunts, Warlords II, WITWI Carmen
Sandiego, Wolf3d, XWing), Procomm Plus 2.0 (kommunikációs
program), Easytrax (layout editor), matematikai csomagok
(Derive 1.2, Eureka 1.0, MathCad 2.06), 4DOS
(parancsértelmezô), Pcxlab 1.03 (PCX megjelenítô), Falcon
3.0 (repülôszimulátor), Stacker 3.1 (röptömörítô), Zarkov
2.6 (sakkprogram), szimulációs csomagok (Gravity,
StatPhys), szövegszerkesztôk (Lotus Manuscript, Qedit, TAG
2.02, WordPerfect 5.1 és 6.0), Q&A
(szövegszerkesztô/adatbázis-kezelô), Quicken 6.0 for DOS és
7.0 for DOS (számlázóprogram), Axum (tudományos grafikai
program), Aseasy (táblázatkezelô), Elvis (vi
szövegszerkesztô klón).
îgy egy Linuxot futtató gépen is használhatjuk a régi
DOS-os programjainkat, úgy, hogy közben más unixos
programokat futtatunk, vagy akár egy másik dosemut. Másik
elônye, hogy nem kell az egész gépet újraindítanunk, ha egy
hibás program lefagy a dosemuban, mert ettôl csak a
virtuális DOS gépünk áll le, ebbôl kilépve biztonságosan
használhatjuk tovább a többi alkalmazást.
A jövôben tervezik a standard módú Windows 3.1 támogatását
a dosemu-ból, és már komoly eredményeket értek el a DPMI
interface implementálásában.
Más, kereskedelmi verziójú, PC-n futó Unixok alá is írtak
DOS-emulátorokat, melyek többnyire hasonló elven mûködnek.
Némelyik többet, mások kevesebbet tudnak a Linux
dosemu-jánál.
@KSára Endre@N
@<9406\DOSEMU.GIF>DOS bejelentkezés Linux X-felület alatt@N